#ifndef _intArray_t_
#define _intArray_t_
class intArray_t
{
	private:
	static const int init_capacity = 16;
	intArray_t(const intArray_t& myArr);
	int		_expandValue;
	int		_numOfElements;
	int		_capacity;
	int** _array;
	void copyArrays(int** newArray);

public:
	intArray_t(); //default
	intArray_t(const int& iniateElementsNum);
	int getCapacity() const; 
	int getNumberOfElements() const;
	void insertNewElement(int *const &element);
	int* getFirstElement() const;
	int* getLastElement() const;
	int* find(const int& value)const;
	int* remove(const int& value);
	void removeAll();
	void removeAndDeleteElement(const int& num);
	void removeAndDeleteAll();
	void append(const int& index, int* const &element);
	void prepend(const int& index, int* const &element);
	bool isEmpty();
	~intArray_t();

};
#endif // #ifndef _intArray_t_